/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia;
import dto.Carrera;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;

/**
 *
 * @author Hades
 */
public class CarreraDAO {

public String bd = "alumnos1";
public String login = "root";
public String password = "root";
public String url = "jdbc:mysql://localhost/" + bd;

/**
     * 
     * @param carrera
     */
    public void updateCarreraById(Carrera carrera)
{
   try {
           
       Connection conn = ConnectionFactory.getConnection();
            
            PreparedStatement pstmt = null;
           
            
           
            String query = "select id from carrera where id=?";
            pstmt = conn.prepareStatement(query);
            pstmt.setInt(1, carrera.getId());
            ResultSet rs=pstmt.executeQuery();
            rs.next();
            int id=rs.getInt("id");
          
            String query1 = "update carrera set descripcion=? where id=?";
            pstmt = conn.prepareStatement(query1);
            pstmt.setString(1, carrera.getDescripcion());
            pstmt.setInt(2, id);
            pstmt.executeUpdate();
            
       
       
//           Statement st = conexion.createStatement();
//           ResultSet rs = st.executeQuery("SELECT id FROM carrera WHERE id="+carrera.getId());
//           rs.next();
//           int id = rs.getInt("id");
//           String query1 = "update carrera set descripcion="+"\"" + carrera.getDescripcion()+ "\""+"where id="+id;
//            //ejecutamos el query 
//            st.executeUpdate(query1);
//            //Siempre hay que cerrar la conexion
//            st.close();

        } catch (SQLException ex) {
            System.out.println(ex + "Hubo un problema al intentar conectarse"
                    + "con la base de datos" + url);

        }
}
    /**
     * 
     * @param carrera
     */
    public void deleteCarreraById(Carrera carrera)
   {
       try {
           Connection conn = ConnectionFactory.getConnection();
            
             PreparedStatement pstmt = null;

            String query = "select id from carrera where id=?";
            pstmt = conn.prepareStatement(query);
            pstmt.setInt(1, carrera.getId());
            ResultSet rs=pstmt.executeQuery();
            rs.next();
            int id=rs.getInt("id");
          
            String query1 = "delete from carrera where id=?";
            pstmt = conn.prepareStatement(query1);
            pstmt.setInt(1,id);
            pstmt.executeUpdate();
            
           
           
          
//           Statement st = conexion.createStatement();
//           ResultSet rs = st.executeQuery("SELECT id FROM carrera WHERE id="+carrera.getId());
//           rs.next();
//           int id = rs.getInt("id");
//            //ejecutamos el query 
//           String query1 = "delete from carrera where id="+id;
//            st.executeUpdate(query1);
//            //Siempre hay que cerrar la conexion
//            st.close();

        } catch (SQLException ex) {
            System.out.println(ex + "Hubo un problema al intentar conectarse"
                    + "con la base de datos" + url);

        }
       
   }
    public void insertarCarrera(Carrera carrera){
        try {
            Connection conexion = null;
            try {
                // registro de drive
                
            Class.forName("org.gjt.mm.mysql.Driver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(CarreraDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            
            conexion = DriverManager.getConnection(url, login, password);

            String query="insert into carrera values("+carrera.getId()+",\""+carrera.getDescripcion()+"\")";
            Statement st = conexion.createStatement();
            //ejecutamos el query 
            st.executeUpdate(query);
            //Siempre hay que cerrar la conexion
            st.close();

        } catch (SQLException ex) {
            System.out.println(ex + "Hubo un problema al intentar conectarse"
                    + "con la base de datos" + url);

        }
        
    }
    public void ConsultaCarrera(Carrera carrera)
    {
        try {
                
             Connection conexion=null;
            // registro de drive
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
               //Logger.getLogger(CarreraDAO.class.getName()).log(Level.SEVERE, null, e);
             
            }
            	
	     conexion=DriverManager.getConnection(url, login, password);
            //paso 1 Construimos el query     
            String query="select*from carrera where id="+carrera.getId()+"";
            Statement st= conexion.createStatement();
            //ejecutamos el query 
	     ResultSet rs=st.executeQuery(query);
            //carrera.setDescripcion(query);
            while(rs.next())
            {
                //carrera.setId(rs.getInt("id"));
                carrera.setDescripcion(rs.getString("descripcion"));
            }
	    //Siempre hay que cerrar la conexion
	    st.close();
            rs.close();
            conexion.close();
            
            
        } catch(SQLException ex){
        System.out.println(ex+"Hubo un problema al intentar conectarse");
        

    } 
    }
    
}
